{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.0.0\n",
      "1.0.45\n"
     ]
    }
   ],
   "source": [
    "import fastai\n",
    "from fastai import *\n",
    "from fastai.vision import *\n",
    "import torch\n",
    "print(torch.__version__)\n",
    "print(fastai.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4.3 fastai\n",
    "## 4.3.1 fastai介绍\n",
    "### fastai库\n",
    "fastai将训练一个准确的神经网络变得十分简单。fastai库是基于他的创始人Jeremy Howard 等人开发的 Deep Learning 课程深度学习的研究，为计算机视觉、文本、表格数据、时间序列、协同过滤等常见深度学习应用提供单一、一致界面的深度学习库，可以做到开箱即用。这意味着，如果你已经学会用fastai创建实用的计算机视觉（CV）模型，那你就可以用同样的方法创建自然语言处理（NLP）模型，或是其他模型。\n",
    "\n",
    "fastai 是目前把易用性和功能都做到了极致的深度学习框架，正如Jeremy所说的：如果一个深度学习框架需要写个教程给你，那它的易用性还不够好。Jeremy 说这话，不是为了夸自己，因为他甚至做了个 MOOC 出来。他自己评价说目前 fastai 的易用性依然不算成功。但在我看来它的门槛极低，你可以很轻易用几句话写个图片分类模型出来，人人都能立即上手，你甚至不需要知道深度学习的理论。\n",
    "\n",
    "\n",
    "### fast.ai课程\n",
    "\n",
    "上面说到了课程，这里对fast.ai的课程做一个简单的介绍：\n",
    "课程是由kaggle赛事老司机，连续两年冠军Jeremy Howard 和 Rachel Tomas 联合创办，旨在让更多人能接受深度学习的课程，而且是完全免费！真的是业界良心，这两年深度学习火了起来，国内有培训机构推出收费课程了，教学水平参差不齐。而Jeremy和Rachel推出的课程，恰恰提现了他们的教育理念：`Make deep learning uncool ! （让深度学习变得没那么高大上）`\n",
    "Fast.ai给人的印象一直很“接地气”：\n",
    "- 研究如何快速、可靠地把最先进的深度学习应用于实际问题。\n",
    "- 提供Fast.ai库，它不仅是让新手快速构建深度学习实现的工具包，也是提供最佳实践的一个强大而便捷的资源。\n",
    "- 课程内容简洁易懂，以便尽可能多的人从研究成果和软件中收益。\n",
    "\n",
    "### Github\n",
    "这个官方的Github包含了fastai的所有内容 https://github.com/fastai \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.3.2 fastai实践\n",
    "### MNIST\n",
    "我们还是以最简单的MNIST来入手看看fastai都为我们做了什么"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# 使用fastai内置的MNIST数据集，这里会从fastai的服务器下载\n",
    "path = untar_data(URLs.MNIST_SAMPLE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "URLs.MNIST_SAMPLE 只提供了3和7 两个分类的数据，这个是用来做演示的，我们正好也做个演示\n",
    "\n",
    "这里如果下载很慢的话，那么我们可以手动进行操作（建议这样，比程序下载快很多而且稳定）\n",
    "```\n",
    "#进入我们用户目录，创建以下的目录\n",
    "mkdir -p ~/.fastai/data\n",
    "cd ~/.fastai/data\n",
    "# 下载解压\n",
    "wget -c http://files.fast.ai/data/examples/mnist_sample.tgz\n",
    "tar -zxvf mnist_sample.tgz\n",
    "```\n",
    "完成后重新执行上面的命令即可"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#使用ImageDataBunch从刚才的目录中将读入数据\n",
    "data = ImageDataBunch.from_folder(path)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ImageDataBunch;\n",
       "\n",
       "Train: LabelList (12396 items)\n",
       "x: ImageItemList\n",
       "Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28)\n",
       "y: CategoryList\n",
       "7,7,7,7,7\n",
       "Path: /Users/tant/.fastai/data/mnist_sample;\n",
       "\n",
       "Valid: LabelList (2038 items)\n",
       "x: ImageItemList\n",
       "Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28),Image (3, 28, 28)\n",
       "y: CategoryList\n",
       "7,7,7,7,7\n",
       "Path: /Users/tant/.fastai/data/mnist_sample;\n",
       "\n",
       "Test: None"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 可以看一下data里面有什么？\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用cnn_learner来创建一个learn，这里模型我们选择resnet18，使用的计量方法是accuracy准确率\n",
    "learn =create_cnn(data, models.resnet18, metrics=accuracy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7\n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAcABwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+f+rvhzw34i8Ya5a+GPCWgXuqaleyiKy0/TrV557hz0VI0BZz7AE19H/sb/8ABYD9vH9hLwBc/CD4CfE3SV8G3ty9xfeEvEXg/TdUsriViCzMLmBnBOADhxkAf3Vx6xef8HJn/BWwaVceG/hr8YPCvgiG9u2lZPA/ww0Wxky6FNisLVmHBADA+Z8i/NxQB8d/Fr9nn4/fAJtKX47fA3xh4KOu2jXWiDxb4ZutN/tCBTtMsH2iNPNQEgFkyATjNcfX6q/8HXvj7XX/AGl/gX+z34t8c6r4i174c/s+6LbeKtW1u2CXl3qtwZGnuJzgEyyrHDI4xgM5xzmvyqoAK9c/YC+GFj8a/wBuj4NfCHVdGOo2XiX4paBpt/Ygr+/t5tQgSVPm45jLda8jrqfgb8YPGH7Pfxp8JfHn4eyQrrvgvxLY65o5uQ5iNzazpPGJAjKxQsgDAMpKkjIzmgD6+/4OSfjRqnxr/wCCzfxnv75sW/hzVrXw5p8XkBPLisbSGFuhO7MolfcTzv6KMKPhivSf2wP2ovHX7an7THjH9qn4m+HdB0rX/G+rHUdWsPDFlJb2McxRUYxRyySOM7dxLOxLMxJ5rzagD//Z\n",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABHNCSVQICAgIfAhkiAAAAYRJREFUSIntlT/PwVAUxn9tDBYNiYGRUcTgE5gkpRurL9TNYrcZjDU0rEZ/JgMRKzEwqcU97/Cm8kokLVXT+yQ3OTfnPvfJ6TnPrQYIX4T+TbF/wX/B7wrWajW63S79fp/tdotSCtu2A3kJP7AsC9u2SafTaJrGbDZjtVoBoGkaIoJlWfd8NptF1/WHvEiwpRN/N5PJhHa7jWEYmKaJaZoPF/o4HA4cj0ccx2E+n9Pr9cJ8lN+7ePLSlMtl8vk8pVKJTCbDdDp9yI/H44e9UgoRodFo4LpuoKhEWZ1OR0RElFJSqVQCz0ee0larFbp/8AFbJJNJANbrNZvNJn5BH47j4HlevIK5XI56vQ7Afr8PxYlcYdjefUSw2Wze4+v1Gr9gtVq9x8PhMDTvbQ8ul0tRSonruqE5kSr0/fdKHz9ii9FoFL9gsVikUCgAcD6fQ/MSwUeeI5VKYRjGy7y3K/Q8j8vl8rIPIcKULhYLud1uMhgMvjOlu90OgNPpFJrz9AccJ34AMs3pQNxKrjEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "Image (3, 28, 28)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#可以直接使用train_ds来访问数据集里面的数据\n",
    "img,label = data.train_ds[0]\n",
    "print(label)\n",
    "img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGoCAYAAAB/tCPFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XvcTVX+wPHvci2XVG6JXKJSJkViElGMRKlcGprITFRGZcavG92MmRiVpqmmSKYhqsmo6DIxVC+eyajE6IaMyOV5yCW5JZ7274+p1Vp7nOOc85zvs8/l8369vF7f9fruZ+8l+znf9lrrrG2CIBAAALSUiboDAIDcRqEBAKii0AAAVFFoAACqKDQAAFUUGgCAKgoNAEAVhSYBxphpxphCY8xXxphVxphBUfcJmckYszv0p9gY80jU/ULmyofPF8MXNg/PGNNMRFYHQbDfGNNURN4Ske5BECyJtmfIZMaYKiJSJCLdgiBYEHV/kJny4fOFJ5oEBEHwURAE+79vfvencYRdQnboJSJbRGRh1B1B5sqHzxcKTYKMMY8ZY/aKyAoRKRSR1yLuEjLf1SIyNWDYAIeR658vDJ0lwRhTVkTOEZGOIjIuCIID0fYImcoY00BE1ohIkyAIPou6P8h8ufz5whNNEoIgKA6CoEBE6onIkKj7g4zWX0QKKDJIVC5/vlBoUlNOcmwMFWk3QESmRN0JZKWc+3yh0ByGMaaWMaavMaaKMaasMeZCEeknIvOj7hsykzGmrYjUFZEZUfcFmS1fPl+YozkMY0xNEfmbiJwh/y3M60Tk4SAIJkXaMWQsY8xEEakUBEH/qPuCzJYvny8UGgCAKobOAACqKDQAAFUUGgCAKgoNAEBVudK8mDGGlQcRC4LARN2HRHG/RI/7BcmIdb/wRAMAUEWhAQCootAAAFRRaAAAqig0AABVFBoAgCoKDQBAFYUGAKCKQgMAUEWhAQCootAAAFRRaAAAqig0AABVFBoAgCoKDQBAFYUGAKCqVF98lsvKlPFrdvfu3W3cunVrL9e7d28bN23a1MstWbLExhdeeKGX27ZtW4n7CSBz1KtXz8ajRo3ycj179rTx8OHDvdxf/vIXzW6lHU80AABVFBoAgCoKDQBAlQmCoPQuZkzpXUzBEUcc4bXvuOMOG/fp08fLnXzyySW+3qOPPuq1b7rpphKfMwgCU+KTlJJsv19yAfdL+l100UU2fuihh2zcpEkT77gvv/zSxiNHjvRy1apVs/HMmTO93Pr16238zTfflKyzSYp1v/BEAwBQRaEBAKhi6OwQTjjhBBtfc801Nv7pT3/qHXfKKafEPMdnn31m46lTp3q5SZMm2bigoMDLNWzY0MbuI7aIyJw5c+L0OjH5PhRSsWJFGw8bNszL1ahRw8YLFizwcu+9915C52/VqpWNO3To4OXi/a6ddtppNg7/u7tL5917R0Tk2muvTahfqcr3+yUd2rdv77WffvppG7ufNckw5od/lvB9dfnll9t49uzZKZ0/VQydAQAiQaEBAKii0AAAVOXtHI073xIeS3dzxxxzTMxzPPXUUzaeNm2al3O3kvnqq6+83JVXXmnjP//5z15u69atNm7Xrp2XW7t2bcy+JCrfxtzr16/vtZ988kkbX3DBBfGu7bVT+T1JxznC59mxY4eXc5fVv/nmmymdP558u19SVbVqVa/929/+1sbXX3+9l6tQoYKN3Xti165d3nEbN260cYMGDbxcpUqVbLx7924v17JlSxuvXr36sH1PJ+ZoAACRoNAAAFTlze7N5cr5f9WhQ4faODxE5T7CPvHEEzYOfwN30aJFNg4/vrp+8pOfeO3Bgwfb2H2MFhGZPHmyjdMxVJbvwkOf8YbL0m3dunVe2x3GC+/E/f7779vYXeIu4u8ycfTRR3u5W2+91cYaQ2eIzf23+Oc//+nlwruyxzJ9+nQbjxkzxssVFRXZePHixV7upJNOsvG///1vL1faw2WJ4IkGAKCKQgMAUEWhAQCoyps5moMHD3ptd1noj370Iy+3cuVKG2/YsCGl67lzL+GdV93l1PPmzfNyDzzwQErXw6GtWrXKa9977702dufpRP53/iOW+fPne+3CwsJDHjdixAiv7W5xE57Tc7cscufpRNKzEzhKl7skPTy36+76Hr4/Xeedd56N3TmZ8PkHDRqUcj9LC080AABVFBoAgKq83Rkg3dwddkX8XZl//OMfezl36OWyyy7zcnv27FHo3Q/4pvcPqlev7rXLli3rXtvLub8n7gupRNL/cqlNmzZ57dq1ax+yHyIivXr1svGsWbPS2o/vrsf9koAqVap47bp169r4888/93L79u075DncncVFRF566SUbd+nSxcu5X60IL9kv7ZedudgZAAAQCQoNAEAVhQYAoCpvljdrcJcchpcpu2/OC+fcNztqz8kgtvA2MKUpPB4/ceJEG7tzMiL+/F94qxONeRkkL7xc3f2KRKLCb0sNz8u43B3go5yTSRRPNAAAVRQaAIAqhs4Ow33hkLvrsojIVVddZWN3qCzs5ptv9tqffPJJmnqHbNWqVSuv3bVrVxuHlzC7QyPhYVhkt44dO9r4hhtuiHncu+++67XDS6YzHU80AABVFBoAgCqGzuR/h71uu+02G//sZz+zcbVq1VI6/znnnOO1ly9fntJ5kN3cb3A/99xzXu7YY4+N+XPupqzjx49Pf8dQqtxVhX/4wx9s3KRJk5g/4740T8TfeWTUqFFeLhOHV3miAQCootAAAFRRaAAAqvJm9+bwS63GjBlj4759+8Y99ns7d+702u5LtObOnevl3DH4evXqebmGDRvaePv27XF6nX7sxlt6jjzySK89Z84cG7dt2zbmz3388cdeu3nz5untWBK4X0ouvNPDggULbBx+oZnL/UxZunSpl7v99tttHP4Md3eEnz17dnKdLSF2bwYARIJCAwBQldPLm913boffw964ceOEzuFuWvirX/3Ky61bty7mz33wwQc2btq0qZcrVy6n/7PjO3/729+8drzhMlePHj00uoOIfP31117bHS5zN9V99NFHvePuvPNOGxcXF3s59ysY4aGzbt262bi0h85i4YkGAKCKQgMAUEWhAQCoyunJgvvvv9/G8eZkwjuh3njjjTZ2t3PYt29fzHOUL1/ea7dv397GhYWFXi48Zovs5i5jdsfO3bFyEZFvv/3WxuGXVV133XU2Xrt2bZp7iCiFvxbhLj9evXq1jcPL2lP12muvpeU86cQTDQBAFYUGAKAqp4fOpk6dauPwUuQZM2bYeObMmV7OHeJIVHhp4nHHHWfj0aNHe7mvvvoq6fMjc/Xu3dvG7pLU8H3kLkN17z8R/15Fbkt0yXGtWrVsHP4McW3atMlrp2sILp14ogEAqKLQAABUUWgAAKryZvdmDe6S6TfffNPLVahQwcaNGjXycvGWSWtjN96S69Wrl9e+++67bdysWTMbG+P/p37jjTdsHN4xfNu2bensYtpwv5SeBg0aeG33qxUnnniil3PvrQ4dOni5hQsXKvQuMezeDACIBIUGAKAqp5c3p9vpp5/utZ988kkb161b18td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\n",
      "text/plain": [
       "<Figure size 432x432 with 9 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#或者我们直接使用show_batch方法，连标签都给我们自动生成好了\n",
    "data.show_batch(rows=3, figsize=(6,6))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里也是直接下载PyTorch官方提供的resnet18与训练模型\n",
    "\n",
    "`wget -P /Users/tant/.torch/models/ https://download.pytorch.org/models/resnet18-5c106cde.pth`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "Total time: 02:21 <p><table style='width:300px; margin-bottom:10px'>\n",
       "  <tr>\n",
       "    <th>epoch</th>\n",
       "    <th>train_loss</th>\n",
       "    <th>valid_loss</th>\n",
       "    <th>accuracy</th>\n",
       "  </tr>\n",
       "  <tr>\n",
       "    <th>1</th>\n",
       "    <th>0.130960</th>\n",
       "    <th>0.086702</th>\n",
       "    <th>0.969087</th>\n",
       "  </tr>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用learn的fit方法就可以进行训练了，训练一遍\n",
    "learn.fit(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过上面的训练，你一定会很纳闷：\n",
    "- 没有告诉模型类别有几个\n",
    "- 没有指定任务迁移之后接续的几个层次的数量、大小、激活函数\n",
    "- 没有告诉网络损失函数是什么\n",
    "我几乎没有提供任何的信息，网络就开始训练了？\n",
    "\n",
    "对，不需要。\n",
    "\n",
    "因为 fastai 根据你输入的上述“数据”、“模型结构”和“损失度量”信息，自动帮你把这些闲七杂八的事情默默搞定了。\n",
    "\n",
    "下面再介绍一些训练的高级用法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#从新生成一个数据集\n",
    "learn2 =create_cnn(data, models.resnet18, metrics=accuracy,callback_fns=ShowGraph)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里我们使用fit_one_cycle方法。\n",
    "\n",
    "fit_one_cycle使用的是一种周期性学习率，从较小的学习率开始学习，缓慢提高至较高的学习率，然后再慢慢下降，周而复始，每个周期的长度略微缩短，在训练的最后部分，允许学习率比之前的最小值降得更低。这不仅可以加速训练，还有助于防止模型落入损失平面的陡峭区域，使模型更倾向于寻找更平坦的极小值，从而缓解过拟合现象。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "Total time: 02:21 <p><table style='width:300px; margin-bottom:10px'>\n",
       "  <tr>\n",
       "    <th>epoch</th>\n",
       "    <th>train_loss</th>\n",
       "    <th>valid_loss</th>\n",
       "    <th>accuracy</th>\n",
       "  </tr>\n",
       "  <tr>\n",
       "    <th>1</th>\n",
       "    <th>0.167809</th>\n",
       "    <th>0.118627</th>\n",
       "    <th>0.956330</th>\n",
       "  </tr>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn2.fit_one_cycle(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们使用内置ShowGraph的方法直接打印训练的状态，如果我们需要更详细的状态，可以直接调用一下的方法："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 学习率的变更\n",
    "learn2.recorder.plot_lr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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/pF9+/YxceJEJk6cCEB6ejqHDh0C4JFHHmHo0KEMHTqURx99tOH1Bg8ezO23386QIUO48sorT3qd9uY3F/tJjg5l/IAk4iNCTlo+tFcs/954AFW16buNcdOiuXBgffuus8cwmPJwiw8nJCQwZswYFi1axLRp05g3bx433HAD4eHhvPHGG8TExHDo0CEuuOACpk6d2uJnxF/+8hciIiLYvHkz69atIysrq+Gxhx56iISEBOrq6rj88stZt24dd911F4888ghLliwhKSnppHWtWrWKp59+mhUrVqCqjB07lgkTJhAfH8+2bdt48cUXeeKJJ7jhhht47bXXuOmmm9pnW53Cb3oOVw/ryfPfHNtkqowhKbEcLa+h4KhzFdgY47sa71o6sUtJVfnRj37E8OHDmTRpEgUFBRw8eLDFdSxdurThQ3r48OEMHz684bGXX36ZrKwsRo0axcaNG5ud7ruxZcuWMX36dCIjI4mKiuLaa6/l448/BiAjI4ORI0cCzk8L7jc9h5YM7eWZsntDQQmp8XbZUGNc08o3fCdNmzaNe+65h9WrV1NeXs7o0aN55plnKCoqYtWqVQQHB5Oent7sNN2ns3PnTn73u9+xcuVK4uPjueWWW85qPSeEhn6xWzwwMNDR3Up+03NoSWavGEKCAli1+4jbUYwxLoiKimLixIncdtttDQPRJSUldOvWjeDgYJYsWcLu3btbXccll1zCCy+8AMCGDRtYt24d4JnuOzIyktjYWA4ePMiiRYsanhMdHU1padMLjo0fP5758+dTXl5OWVkZb7zxBuPHj2+vt9tmft9zCA0KZERqLCt3WXEwxl/NmjWL6dOnN+xeuvHGG7nmmmsYNmwY2dnZDBo0qNXn33HHHdx6660MHjyYwYMHM3r0aABGjBjBqFGjGDRoEL179z5puu/Zs2czefJkevXqxZIlSxqWZ2VlccsttzBmzBgAvvWtbzFq1KgOv7KcqHaus4Ozs7P1dMcPn6lf/3sLT368g3U/vYrwkMB2XbcxpmWbN29m8ODBbsfocprbriKySlWzW3hKE36/Wwng/PR4auqUtfm+cwKKMca4yYoDMDotAYCcXYddTmKMMb7BigMQGxHMwO7RNu5gjAs6265tX9de29PR4iAik0UkV0TyRGRuM4+nicgSEflcRNaJyNVO5mnNmIwEVuwstvMdjOlAYWFh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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#损失\n",
    "learn2.recorder.plot_losses()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n",
      "Min numerical gradient: 6.31E-07\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 我们也可以使用lr_find()找到损失仍在明显改善最高学习率\n",
    "learn2.lr_find()\n",
    "learn2.recorder.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.3.3 fastai文档翻译\n",
    "由于fastai的中文资料很少而且目前官方只提供英文的文档，所以如果谁有兴趣一起翻译的话可以联系我，如果人数够了的话可以组个团队一起翻译。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ML with tensorflow and Pytorch",
   "language": "python",
   "name": "ml"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "284px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
